home *** CD-ROM | disk | FTP | other *** search
- Path: uunet!zephyr.ens.tek.com!tekred!saab!billr
- From: billr@saab.CNA.TEK.COM (Bill Randle)
- Newsgroups: comp.sources.games
- Subject: v11i041: gb3 - Galactic Bloodshed, an empire-like war game [Ver. 2.0], Patch2c
- Message-ID: <6228@tekred.CNA.TEK.COM>
- Date: 28 Aug 90 19:35:16 GMT
- Sender: news@tekred.CNA.TEK.COM
- Lines: 2398
- Approved: billr@saab.CNA.TEK.COM
-
- Submitted-by: VANCLEEF@mps.ohio-state.edu
- Posting-number: Volume 11, Issue 41
- Archive-name: gb3/Patch2c
- Patch-To: gb3: Volume 10, Issue 1-14
-
-
-
- #! /bin/sh
- # This is a shell archive. Remove anything before this line, then unpack
- # it by saving it into a file and typing "sh file". To overwrite existing
- # files, type "sh file -c". You can also feed this as standard input via
- # unshar, or by typing "sh <file", e.g.. If this archive is complete, you
- # will see the following message at the end:
- # "End of archive 3 (of 9)."
- # Contents: patches02c server/welcome.txt
- # Wrapped by billr@saab on Tue Aug 28 08:54:54 1990
- PATH=/bin:/usr/bin:/usr/ucb ; export PATH
- if test -f 'patches02c' -a "${1}" != "-c" ; then
- echo shar: Renaming existing file \"'patches02c'\" to \"'patches02c.orig'\"
- mv -f 'patches02c' 'patches02c.orig'
- fi
- echo shar: Extracting \"'patches02c'\" \(57315 characters\)
- sed "s/^X//" >'patches02c' <<'END_OF_FILE'
- X*** /usr/cna/billr/games/gb3/server/Makefile Fri Jun 1 11:46:32 1990
- X--- server/Makefile Tue Aug 28 08:59:20 1990
- X***************
- X*** 1,13 ****
- X # Galactic Bloodshed (Robert Chansky, smq@b)
- X # Makefile (modified by billr@saab.cna.tek.com)
- X
- X- # (the -pipe -g are for development.)
- X # $UV, if used, is generally defined in the top level makefile. It's set
- X # to -DBSD4_2 for BSD 4.2 derived systems (e.g. SunOS 3.X) that don't
- X # have tm_zone as a member of the "tm" struct (see <time.h>).
- X # $(HP) comes from top level makefile for host and port info.
- X! CFLAGS = -O $(UV) $(HP)
- X! #CFLAGS = -g $(HP)
- X #CFLAGS = -pipe -g
- X
- X # objects for shell
- X--- 1,14 ----
- X # Galactic Bloodshed (Robert Chansky, smq@b)
- X # Makefile (modified by billr@saab.cna.tek.com)
- X
- X # $UV, if used, is generally defined in the top level makefile. It's set
- X # to -DBSD4_2 for BSD 4.2 derived systems (e.g. SunOS 3.X) that don't
- X # have tm_zone as a member of the "tm" struct (see <time.h>).
- X # $(HP) comes from top level makefile for host and port info.
- X! # Define NO_LOG1P if your system does not have log1p(x).
- X! # (The -pipe -g are for development.)
- X! DEFINES = #-DNO_LOG1P
- X! CFLAGS = -O $(UV) $(HP) $(DEFINES)
- X #CFLAGS = -pipe -g
- X
- X # objects for shell
- X***************
- X*** 30,38 ****
- X--- 31,41 ----
- X perm.o \
- X prof.o \
- X GB_server.o \
- X+ disolve.o \
- X name.o \
- X fire.o \
- X land.o \
- X+ dock.o \
- X tech.o \
- X map.o \
- X max.o \
- X***************
- X*** 66,71 ****
- X--- 69,75 ----
- X
- X # depend on vars.h and races.h
- X VROBJS = getplace.o \
- X+ disolve.o \
- X autoreport.o \
- X order.o \
- X mobiliz.o \
- X***************
- X*** 107,112 ****
- X--- 111,117 ----
- X
- X # depend on ships.h and vars.h
- X SHIPOBJS = autoreport.o \
- X+ dissolve.o \
- X order.o \
- X shootblast.o \
- X makeplanet.o \
- X***************
- X*** 122,127 ****
- X--- 127,133 ----
- X enrol.o \
- X fire.o \
- X land.o \
- X+ dock.o \
- X map.o \
- X max.o \
- X move.o \
- X***************
- X*** 150,156 ****
- X doturn.o \
- X enrol.o \
- X files.o \
- X! GB.o \
- X build.o \
- X power.o \
- X daemon.o \
- X--- 156,162 ----
- X doturn.o \
- X enrol.o \
- X files.o \
- X! GB_server.o \
- X build.o \
- X power.o \
- X daemon.o \
- X***************
- X*** 192,205 ****
- X ${SHIPOBJS}: vars.h ships.h
- X ${FOBJS}: files.h
- X build.o : vars.h ships.h races.h shipdata.h
- X! power.o files_shl.o : power.h
- X! doturn.o doship.o doplanet.o moveship.o moveplanet.o : doturn.h
- X moveship.o : vars.h ships.h shipdata.h
- X doturn.o doplanet.o doship.o : power.h
- X
- X #fix it program
- X fix : ${FIXOBJS}
- X! cc -o fix ${FIXOBJS} -lcurses -ltermcap -lm
- X
- X #sizes : vars.h ships.h races.h
- X # sizes.c
- X--- 198,211 ----
- X ${SHIPOBJS}: vars.h ships.h
- X ${FOBJS}: files.h
- X build.o : vars.h ships.h races.h shipdata.h
- X! power.o dissolve.o files_shl.o : power.h
- X! dissolve.o doturn.o doship.o doplanet.o moveship.o moveplanet.o : doturn.h
- X moveship.o : vars.h ships.h shipdata.h
- X doturn.o doplanet.o doship.o : power.h
- X
- X #fix it program
- X fix : ${FIXOBJS}
- X! ${CC} -o fix ${FIXOBJS} -lcurses -ltermcap -lm
- X
- X #sizes : vars.h ships.h races.h
- X # sizes.c
- X***************
- X*** 206,231 ****
- X
- X # make data files program
- X makeuniv : makeuniv.o makeplanet.o rand.o perm.o
- X! cc -o makeuniv makeuniv.o makeplanet.o rand.o perm.o files.o -lm
- X makeuniv.o : power.h
- X
- X
- X # the daemon (actually it calls the update)
- X GB_daemon : daemon.o
- X! cc -o GB_daemon daemon.o
- X
- X # the enrollment program
- X GB_enroll : ${EOBJS}
- X! cc -o GB_enroll ${EOBJS} -lcurses -ltermcap -lm
- X enrol.o : vars.h ships.h shipdata.h races.h
- X
- X # more clone
- X! mor : more.c
- X! cc -g -o mor more.c
- X
- X! #trav
- X! trav : traverse.o files_rw.o files_shl.o files.o
- X! cc -o trav traverse.o files_rw.o files_shl.o files.o
- X
- X chmod:
- X chmod ag+xs GB
- X--- 212,236 ----
- X
- X # make data files program
- X makeuniv : makeuniv.o makeplanet.o rand.o perm.o
- X! ${CC} -o makeuniv makeuniv.o makeplanet.o rand.o perm.o files.o -lm
- X makeuniv.o : power.h
- X
- X
- X # the daemon (actually it calls the update)
- X GB_daemon : daemon.o
- X! ${CC} -o GB_daemon daemon.o
- X
- X # the enrollment program
- X GB_enroll : ${EOBJS}
- X! ${CC} -o GB_enroll ${EOBJS} -lcurses -ltermcap -lm
- X enrol.o : vars.h ships.h shipdata.h races.h
- X
- X # more clone
- X! # mor : more.c
- X! # ${CC} -g -o mor more.c
- X
- X! # trav : traverse.o files_rw.o files_shl.o files.o
- X! # ${CC} -o trav traverse.o files_rw.o files_shl.o files.o
- X
- X chmod:
- X chmod ag+xs GB
- X***************
- X*** 251,257 ****
- X shar:
- X /bin/cp Docs/*.doc* .
- X # -uncompress enroll.dat.Z *.doc*
- X! shar README Makefile *.script *.doc *.h *.c planet.list *.dat > GB.shar
- X # -compress enroll.dat
- X # compress GB.shar
- X /bin/rm -f *.doc
- X--- 256,262 ----
- X shar:
- X /bin/cp Docs/*.doc* .
- X # -uncompress enroll.dat.Z *.doc*
- X! shar README Makefile *.doc *.h *.c planet.list *.dat > GB.shar
- X # -compress enroll.dat
- X # compress GB.shar
- X /bin/rm -f *.doc
- X*** /usr/cna/billr/games/gb3/server/VN.c Wed May 30 15:12:50 1990
- X--- server/VN.c Thu Aug 23 16:54:36 1990
- X***************
- X*** 24,29 ****
- X--- 24,30 ----
- X planettype *p;
- X char buf[300];
- X
- X+
- X if (ship->on) {
- X
- X if (ship->whatorbits==LEVEL_PLAN)
- X***************
- X*** 163,168 ****
- X--- 164,170 ----
- X planettype *planet;
- X {
- X reg int i;
- X+ float getmass();
- X
- X if (ship->on) {
- X
- X***************
- X*** 213,224 ****
- X
- X s2->armor = Shipdata[shipbuild][ABIL_ARMOR];
- X s2->guns = Shipdata[shipbuild][ABIL_GUNS];
- X- s2->size = Shipdata[shipbuild][ABIL_TARGET];
- X s2->max_crew = Shipdata[shipbuild][ABIL_MAXCREW];
- X s2->max_resource = Shipdata[shipbuild][ABIL_CARGO];
- X s2->max_fuel = Shipdata[shipbuild][ABIL_FUELCAP];
- X s2->max_destruct = Shipdata[shipbuild][ABIL_DESTCAP];
- X s2->max_speed = Shipdata[shipbuild][ABIL_SPEED];
- X s2->base_mass = getmass(s2);
- X
- X s2->mass = s2->base_mass;
- X--- 215,226 ----
- X
- X s2->armor = Shipdata[shipbuild][ABIL_ARMOR];
- X s2->guns = Shipdata[shipbuild][ABIL_GUNS];
- X s2->max_crew = Shipdata[shipbuild][ABIL_MAXCREW];
- X s2->max_resource = Shipdata[shipbuild][ABIL_CARGO];
- X s2->max_fuel = Shipdata[shipbuild][ABIL_FUELCAP];
- X s2->max_destruct = Shipdata[shipbuild][ABIL_DESTCAP];
- X s2->max_speed = Shipdata[shipbuild][ABIL_SPEED];
- X+ s2->size = ship_size(s2);
- X s2->base_mass = getmass(s2);
- X
- X s2->mass = s2->base_mass;
- X***************
- X*** 237,242 ****
- X--- 239,248 ----
- X s2->bombard = 1;
- X s2->protect.self = 1;
- X s2->protect.planet = 1;
- X+ /* set a course for the offending player's system */
- X+ s2->whatdest = LEVEL_STAR;
- X+ s2->deststar = random()&01 ? Sdata.VN_index1[VN_brain.Most_mad-1] :
- X+ Sdata.VN_index2[VN_brain.Most_mad-1];
- X } else {
- X fprintf(stderr,"VN #%d constructed VN #%d.\n",shipno,Num_ships);
- X s2->tech = ship->tech + 1.0;
- X*** /usr/cna/billr/games/gb3/server/autoshoot.c Wed May 30 15:12:51 1990
- X--- server/autoshoot.c Thu Aug 23 16:54:37 1990
- X***************
- X*** 49,55 ****
- X sprintf(buf, "Bombardment of %s cancelled, PDNs are present.\n",
- X prin_ship_orbits(ship));
- X if(!notify(ship->owner, buf))
- X! push_message(TELEG_PLAYER_AUTO, ship->owner, buf);
- X return;
- X }
- X
- X--- 49,55 ----
- X sprintf(buf, "Bombardment of %s cancelled, PDNs are present.\n",
- X prin_ship_orbits(ship));
- X if(!notify(ship->owner, buf))
- X! push_message(TELEG_PLAYER_AUTO, ship->owner, buf, TELEGRAM);
- X return;
- X }
- X
- X***************
- X*** 168,174 ****
- X
- X
- X /* execute attack */
- X!
- X numdest2 = shoot(1, to, &from, i, planet, (planettype *)NULL,x,y,stren,
- X &dist, tech/numretal, telegram_buf, 0); /* (0=dont get smap) */
- X
- X--- 168,174 ----
- X
- X
- X /* execute attack */
- X! if(numretal)
- X numdest2 = shoot(1, to, &from, i, planet, (planettype *)NULL,x,y,stren,
- X &dist, tech/numretal, telegram_buf, 0); /* (0=dont get smap) */
- X
- X*** /usr/cna/billr/games/gb3/server/daemon.c Wed May 30 16:08:24 1990
- X--- server/daemon.c Fri Aug 24 09:08:03 1990
- X***************
- X*** 42,47 ****
- X--- 42,53 ----
- X updtime = DEFAULT_UPDATE_TIME;
- X
- X /* initialize the data file to feed telnet */
- X+ /*
- X+ * This is here in case a new DAEMON_PASSWORD is defined, in which
- X+ * case, the daemon.dat file must be updated. This costs very little
- X+ * in overhead (only run once) and ensure that the file is always
- X+ * uptodate if the password changes. (billr@saab.cna.tek.com)
- X+ */
- X if ((fd = fopen(DAEMONFL, "w")) == NULL)
- X perror("GB_daemon open of daemon.dat failed");
- X else
- X***************
- X*** 60,68 ****
- X update = t->tm_hour;
- X printf("Requesting update\n");
- X /* this will trigger the update */
- X- /*
- X- exstat = system("telnet pooh 2010 < daemon.dat");
- X- */
- X sprintf(buf,"telnet %s %d < %s", GB_HOST, GB_PORT, DAEMONFL);
- X exstat = system(buf);
- X
- X--- 66,71 ----
- X*** /usr/cna/billr/games/gb3/server/makeuniv.c Wed May 30 15:13:27 1990
- X--- server/makeuniv.c Thu Aug 23 16:55:11 1990
- X***************
- X*** 15,20 ****
- X--- 15,22 ----
- X #include <math.h>
- X
- X
- X+ short list[1000];
- X+
- X FILE *fopen();
- X planettype Makeplanet();
- X char *Numbers[] = { "1","2","3","4","5","6","7","8","9","10","11",
- X***************
- X*** 25,41 ****
- X char *argv[];
- X {
- X FILE *teledata,*racedata,*stardata,*planetdata,*sectordata,*shipdata;
- X planettype planet;
- X startype *Star;
- X int star,e,e2,type,lowp,hip, roll, temperature;
- X register int i,y,x;
- X! char str[200];
- X float att,xspeed[NUMSTARS],yspeed[NUMSTARS], dist, dummy;
- X float xpos, ypos;
- X
- X srandom(getpid());
- X
- X! Bzero(Sdata);
- X printf("# of stars(1-%d):",NUMSTARS-1);
- X scanf("%d",&(Sdata.numstars));
- X printf("low # of planets (1-%d):",MAXPLANETS);
- X--- 27,81 ----
- X char *argv[];
- X {
- X FILE *teledata,*racedata,*stardata,*planetdata,*sectordata,*shipdata;
- X+ FILE *planetlist;
- X planettype planet;
- X startype *Star;
- X int star,e,e2,type,lowp,hip, roll, temperature;
- X register int i,y,x;
- X! char str[200], c;
- X float att,xspeed[NUMSTARS],yspeed[NUMSTARS], dist, dummy;
- X float xpos, ypos;
- X+ int autoname, numlist, namecount, t;
- X+ char Names[1000][20];
- X
- X srandom(getpid());
- X
- X! printf("\nDo you wish to use the file '%s' for names (y/n)\?",
- X! PLANETLIST);
- X! c = getchr();
- X! getchr();
- X!
- X! autoname = (c=='y');
- X!
- X! if(autoname) {
- X! if( (planetlist = fopen(PLANETLIST, "r"))==NULL) {
- X! printf("unable to open %s\n", PLANETLIST);
- X! exit(-1);
- X! }
- X!
- X! numlist=0;
- X! t = 0;
- X! while( (c=getc(planetlist)) != EOF) {
- X! if(c!='\n') {
- X! Names[numlist][t++] = c;
- X! } else {
- X! numlist++;
- X! t = 0;
- X! }
- X!
- X! }
- X! numlist--;
- X! close(planetlist);
- X!
- X! printf("%d names listed in %s\n", numlist, PLANETLIST);
- X!
- X! rand_list(numlist);
- X!
- X! }
- X!
- X! namecount = 0;
- X!
- X! Bzero(Sdata);
- X printf("# of stars(1-%d):",NUMSTARS-1);
- X scanf("%d",&(Sdata.numstars));
- X printf("low # of planets (1-%d):",MAXPLANETS);
- X***************
- X*** 56,62 ****
- X exit(-1);
- X }
- X
- X! /* get names, positions of stars first */
- X for (star=0; star<Sdata.numstars; star++) {
- X Stars[star]=(startype *)malloc(sizeof(startype));
- X Bzero(*Stars[star]);
- X--- 96,103 ----
- X exit(-1);
- X }
- X
- X!
- X! /* get names, positions of stars first */
- X for (star=0; star<Sdata.numstars; star++) {
- X Stars[star]=(startype *)malloc(sizeof(startype));
- X Bzero(*Stars[star]);
- X***************
- X*** 65,70 ****
- X--- 106,115 ----
- X Star->temperature=int_rand(0, 4)+int_rand(1, 5);
- X /* heat of the star */
- X Star->gravity = int_rand(10000,100000) / 100.0;
- X+
- X+ if(autoname && (namecount <= numlist)) {
- X+ sprintf(Star->name, "%s", Names[list[namecount++]]);
- X+ } else {
- X printf("[%d] name of star (%d planets):",star, Star->numplanets);
- X for (i=0; i<NAMESIZE-4; i++)
- X putchr('.');
- X***************
- X*** 72,77 ****
- X--- 117,124 ----
- X putchr('\010'); /* ^H */
- X scanf("%14[^\n]",Star->name);
- X getchr();
- X+ }
- X+
- X Star->xpos=(float)int_rand(-UNIVSIZE,UNIVSIZE);
- X xspeed[star] = 0;
- X Star->ypos=(float)int_rand(-UNIVSIZE,UNIVSIZE);
- X***************
- X*** 83,90 ****
- X Star = Stars[star];
- X
- X for (i=0; i<Star->numplanets; i++) {
- X- sprintf(Star->pnames[i],"%s",Numbers[i]);
- X
- X dist = -1.0;
- X while (dist >= SYSTEMSIZE || dist <= 100.0) {
- X xpos=(float)int_rand(-SYSTEMSIZE,SYSTEMSIZE);
- X--- 130,141 ----
- X Star = Stars[star];
- X
- X for (i=0; i<Star->numplanets; i++) {
- X
- X+ if(autoname && (namecount <= numlist))
- X+ sprintf(Star->pnames[i],"%s", Names[list[namecount++]]);
- X+ else
- X+ sprintf(Star->pnames[i],"%s",Numbers[i]);
- X+
- X dist = -1.0;
- X while (dist >= SYSTEMSIZE || dist <= 100.0) {
- X xpos=(float)int_rand(-SYSTEMSIZE,SYSTEMSIZE);
- X***************
- X*** 114,124 ****
- X else
- X type = TYPE_WATER;
- X } else if(temperature > -10 && temperature <= 30) {
- X! if(roll <=25)
- X type = TYPE_ASTEROID;
- X! else if(roll > 25 && roll <=50)
- X type = TYPE_AIRLESS;
- X! else if(roll > 50 && roll <=75)
- X type = TYPE_EARTH;
- X else
- X type = TYPE_WATER;
- X--- 165,175 ----
- X else
- X type = TYPE_WATER;
- X } else if(temperature > -10 && temperature <= 30) {
- X! if(roll <=10)
- X type = TYPE_ASTEROID;
- X! else if(roll > 15 && roll <=40)
- X type = TYPE_AIRLESS;
- X! else if(roll > 40 && roll <=70)
- X type = TYPE_EARTH;
- X else
- X type = TYPE_WATER;
- X***************
- X*** 285,291 ****
- X chmod(TELEGRAMDIR, 00770);
- X
- X /* make telegram files for each player */
- X! for (i=1; i<=MAXPLAYERS; i++) {
- X sprintf(str, "%s.%d", TELEGRAMFL, i );
- X if ((teledata = fopen(str, "w+"))==NULL) {
- X printf(" unable to open %s\n",str);
- X--- 336,342 ----
- X chmod(TELEGRAMDIR, 00770);
- X
- X /* make telegram files for each player */
- X! for (i=1; i<MAXPLAYERS; i++) {
- X sprintf(str, "%s.%d", TELEGRAMFL, i );
- X if ((teledata = fopen(str, "w+"))==NULL) {
- X printf(" unable to open %s\n",str);
- X***************
- X*** 293,297 ****
- X fchmod(teledata,00660);
- X fclose(teledata);
- X }
- X! }
- X }
- X--- 344,407 ----
- X fchmod(teledata,00660);
- X fclose(teledata);
- X }
- X! }
- X!
- X! sprintf(str, "/bin/mkdir %s", NEWSDIR );
- X! system(str);
- X! chmod(NEWSDIR, 00770);
- X!
- X! /* make news files for each player */
- X! for (i=1; i<MAXPLAYERS; i++) {
- X! sprintf(str, "%s.%d", DECLARATIONFL, i );
- X! if ((teledata = fopen(str, "w+"))==NULL)
- X! printf(" unable to open %s\n",str);
- X! else {
- X! fchmod(teledata,00660);
- X! fclose(teledata);
- X! }
- X! sprintf(str, "%s.%d", TRANSFERFL, i );
- X! if ((teledata = fopen(str, "w+"))==NULL)
- X! printf(" unable to open %s\n",str);
- X! else {
- X! fchmod(teledata,00660);
- X! fclose(teledata);
- X! }
- X! sprintf(str, "%s.%d", COMBATFL, i );
- X! if ((teledata = fopen(str, "w+"))==NULL)
- X! printf(" unable to open %s\n",str);
- X! else {
- X! fchmod(teledata,00660);
- X! fclose(teledata);
- X! }
- X! sprintf(str, "%s.%d", ANNOUNCEFL, i );
- X! if ((teledata = fopen(str, "w+"))==NULL)
- X! printf(" unable to open %s\n",str);
- X! else {
- X! fchmod(teledata,00660);
- X! fclose(teledata);
- X! }
- X! }
- X!
- X!
- X! printf("%d bodies named.\n", namecount);
- X! }
- X!
- X! rand_list(n) /* mix up the numbers 0 thru n */
- X! int n;
- X! {
- X! short nums[1000], i, j, k;
- X! for(i=0; i<1000; i++)
- X! nums[i]=i;
- X!
- X! /* create mix up the list */
- X! j = 0;
- X! while(j<=n) {
- X! k=int_rand(0, n-j);
- X! list[j]=nums[k];
- X!
- X! for(i=k; i<n-j; i++)
- X! nums[i]=nums[i+1];
- X!
- X! j++;
- X! }
- X }
- X*** /usr/cna/billr/games/gb3/server/max.c Wed May 30 15:13:29 1990
- X--- server/max.c Fri Aug 24 16:40:34 1990
- X***************
- X*** 27,36 ****
- X {
- X int val;
- X float a,b;
- X! a=FACTOR_FERT_SUPPORT * (log1p((double)1.*p->eff) * log1p((double)p->fert)+1.0);
- X! b=.01 * ((r==NULL) ? 0.0 : r->likes[p->des])
- X! * (MAX(0.0, MIN(100.0, c+20.0*(r->number_sexes-2))));
- X!
- X
- X val = (int)( a * b * .01 * (100.0 - (float)toxic) );
- X
- X--- 27,34 ----
- X {
- X int val;
- X float a,b;
- X! a=FACTOR_FERT_SUPPORT * (log1p((double)p->eff+1.0) * log1p((double)p->fert)+1.0);
- X! b=.01 * c *((r==NULL) ? 0.0 : MAX(0.0, MIN(r->likes[p->des] + 0.2*(r->number_sexes - 2), 1.0)) );
- X
- X val = (int)( a * b * .01 * (100.0 - (float)toxic) );
- X
- X*** /usr/cna/billr/games/gb3/server/mobiliz.c Wed May 30 15:13:31 1990
- X--- server/mobiliz.c Thu Aug 23 16:55:14 1990
- X***************
- X*** 49,54 ****
- X--- 49,55 ----
- X sprintf(buf, "Current mobilization: %d Quota: %d\n",
- X p->info[Playernum-1].comread, p->info[Playernum-1].mob_set);
- X notify(Playernum, buf);
- X+ free(p);
- X return;
- X }
- X
- X***************
- X*** 59,71 ****
- X if (sum_mob > 100 || sum_mob < 0) {
- X sprintf(buf,"Illegal value.\n");
- X notify(Playernum, buf);
- X return;
- X }
- X
- X
- X p->info[Playernum-1].mob_set = sum_mob;
- X! openpdata(&mobilize_pdata);
- X! putplanet(mobilize_pdata,p,Stars[Dir[Playernum-1].snum]->planetpos[Dir[Playernum-1].pnum]);
- X close_file(mobilize_pdata);
- X
- X deductAPs(Playernum,APcount, Dir[Playernum-1].snum, 0);
- X--- 60,73 ----
- X if (sum_mob > 100 || sum_mob < 0) {
- X sprintf(buf,"Illegal value.\n");
- X notify(Playernum, buf);
- X+ free(p);
- X return;
- X }
- X
- X
- X p->info[Playernum-1].mob_set = sum_mob;
- X! openpdata(&mobilize_pdata);
- X! putplanet(mobilize_pdata,p,Stars[Dir[Playernum-1].snum]->planetpos[Dir[Playernum-1].pnum]);
- X close_file(mobilize_pdata);
- X
- X deductAPs(Playernum,APcount, Dir[Playernum-1].snum, 0);
- X*** /usr/cna/billr/games/gb3/server/planet.list Wed May 30 15:13:58 1990
- X--- server/planet.list Thu Aug 23 16:55:40 1990
- X***************
- X*** 1,4 ****
- X-
- X Arioch
- X Amaterasu
- X Azagthoth
- X--- 1,3 ----
- X***************
- X*** 82,88 ****
- X Granis
- X Gungnir
- X Halloway
- X- Harry'sWorld
- X Halvec
- X Hal
- X Hadad
- X--- 81,86 ----
- X***************
- X*** 150,157 ****
- X Mandara
- X Manitou
- X Marduk
- X! (Mashyane
- X! Mashye)
- X Megara
- X Menrua
- X Metis
- X--- 148,155 ----
- X Mandara
- X Manitou
- X Marduk
- X! Mashyane
- X! Mashye
- X Megara
- X Menrua
- X Metis
- X***************
- X*** 159,165 ****
- X Mulungu
- X Nyarlathotep
- X Nessus
- X- NewBeginnings
- X Nuada
- X Nebo
- X Ninhursag
- X--- 157,162 ----
- X***************
- X*** 180,187 ****
- X Oro
- X Orunila
- X Otus
- X- PlanetX
- X- Planet10
- X Pleides
- X Pachacutil
- X Pandavas
- X--- 177,182 ----
- X***************
- X*** 292,294 ****
- X--- 287,563 ----
- X Zethus
- X Zocho
- X Zurvan
- X+ Pegasus
- X+ Cylon
- X+ Ares
- X+ Taurus
- X+ Gemini
- X+ Cancer
- X+ Leo
- X+ Virgo
- X+ Libra
- X+ Scorpio
- X+ Sagittarius
- X+ Capricorn
- X+ Aquarius
- X+ Pisces
- X+ Mercury
- X+ Venus
- X+ Terra
- X+ Mars
- X+ Jupiter
- X+ Saturn
- X+ Uranus
- X+ Neptune
- X+ Pluto
- X+ Galactica
- X+ Andromeda
- X+ Perseus
- X+ Dalos
- X+ Erusa
- X+ Lamarna
- X+ Deneb
- X+ Cygnus
- X+ Rigel
- X+ Regulus
- X+ Aldebran
- X+ Lyra
- X+ Vega
- X+ Aquila
- X+ Procyon
- X+ Sirius
- X+ Trantor
- X+ Caneb
- X+ Indis
- X+ Cetelus
- X+ Cetus
- X+ Citurnae
- X+ Sardonis
- X+ Zarg
- X+ Urdanis
- X+ Tarkus
- X+ Crux
- X+ Fantor
- X+ Zog
- X+ Xantor
- X+ Qrdus
- X+ Mordus
- X+ Remulak
- X+ Meepzorp
- X+ Zot
- X+ Varnak
- X+ Klingon
- X+ Romulus
- X+ Remus
- X+ Vulcan
- X+ Sarnak
- X+ Tarsus
- X+ Gamorae
- X+ Delphia
- X+ Uhura
- X+ Logan
- X+ Primax
- X+ Ectoprimax
- X+ Endoprimax
- X+ Orthoprimax
- X+ Oz
- X+ Jhurna
- X+ Karnak
- X+ Og
- X+ Io
- X+ Tarnesus
- X+ Huron
- X+ Ophiucus
- X+ Andor
- X+ Chaos
- X+ Cthulhu
- X+ Persephone
- X+ Sagurak
- X+ Oliphant
- X+ Olympus
- X+ Imperium
- X+ Illiam
- X+ Athena
- X+ Apollo
- X+ Dionysus
- X+ Bacchus
- X+ Zeus
- X+ Hera
- X+ Aphrodite
- X+ Hephiastes
- X+ Yrga
- X+ Reggae
- X+ Crassus
- X+ Draco
- X+ Ephraites
- X+ Betelgeuse
- X+ Magna
- X+ Nardis
- X+ Nemesis
- X+ Centauri
- X+ Shax
- X+ Xerxes
- X+ Piithar
- X+ Ibanis
- X+ Carthage
- X+ Eldorado
- X+ Pymeria
- X+ Ursa
- X+ Interigon
- X+ Rol
- X+ Pollux
- X+ Castor
- X+ Sedaria
- X+ Iki
- X+ Hestia
- X+ Polaris
- X+ Medusa
- X+ Hyperion
- X+ Fredux
- X+ Gabora
- X+ Val
- X+ Gnur
- X+ Jena
- X+ Resida
- X+ Ghal
- X+ Cranus
- X+ Zaaxon
- X+ Cassiopeia
- X+ Ergos
- X+ Sega
- X+ Tranus
- X+ Oox
- X+ Sekasis
- X+ Alpha
- X+ Beta
- X+ Gamma
- X+ Delta
- X+ Epsilon
- X+ Zeta
- X+ Eta
- X+ Theta
- X+ Iota
- X+ Kappa
- X+ Lambda
- X+ Mu
- X+ Nu
- X+ Xi
- X+ Omicron
- X+ Pi
- X+ Rho
- X+ Sigma
- X+ Tau
- X+ Upsilon
- X+ Phi
- X+ Chi
- X+ Psi
- X+ Omega
- X+ Claire
- X+ Pthura
- X+ Deganus
- X+ Bora
- X+ Cepheus
- X+ Hercules
- X+ Magellan
- X+ Galileo
- X+ Americos
- X+ Britannia
- X+ Lupus
- X+ Lugundum
- X+ Atlantis
- X+ Suboceana
- X+ Oceana
- X+ Eurasia
- X+ Peace
- X+ War
- X+ Tyrrea
- X+ Poseiden
- X+ Vurat
- X+ Drak
- X+ Rimahad
- X+ Lod
- X+ Troll
- X+ Dearth
- X+ Ulka
- X+ Vesta
- X+ Eegos
- X+ Sal
- X+ Proteus
- X+ Boz
- X+ Lhard
- X+ Nada
- X+ Miriam
- X+ Xrka
- X+ Ord
- X+ Jazdarnil
- X+ Kepa
- X+ Zrd
- X+ Ixmirsis
- X+ Megnazon
- X+ Terl
- X+ Naiad
- X+ Thalassa
- X+ Despoina
- X+ Galatea
- X+ Larissa
- X+ Proteus
- X+ Triton
- X+ Nereid
- X+ Charon
- X+ Cordelia
- X+ Ophelia
- X+ Bianca
- X+ Cressida
- X+ Desdemona
- X+ Juliet
- X+ Rosalind
- X+ Belinda
- X+ Puck
- X+ Miranda
- X+ Ariel
- X+ Umbriel
- X+ Titania
- X+ Oberon
- X+ Atlas
- X+ Prometheus
- X+ Pandora
- X+ Janus
- X+ Epimetheus
- X+ Mimas
- X+ Enceladus
- X+ Tethys
- X+ Telesto
- X+ Calypso
- X+ Dione
- X+ Helene
- X+ Titan
- X+ Iapetus
- X+ Hyperion
- X+ Phoebe
- X+ Sinope
- X+ Pasiphae
- X+ Carme
- X+ Ananke
- X+ Elara
- X+ Lysithea
- X+ Himalia
- X+ Leda
- X+ Callisto
- X+ Ganymede
- X+ Europa
- X+ Thebe
- X+ Amalthea
- X+ Metis
- X+ Adrastea
- X+ Phobos
- X+ Deimos
- X+ Chiron
- X+ Mercury
- X+ Venus
- X+ Terra
- X+ Mars
- X+ Jupiter
- X+ Saturn
- X+ Uranus
- X+ Neptune
- X+ Pluto
- X*** /usr/cna/billr/games/gb3/server/prof.c Wed May 30 15:13:43 1990
- X--- server/prof.c Thu Aug 23 16:55:24 1990
- X***************
- X*** 24,29 ****
- X--- 24,30 ----
- X char args[MAXARGS][COMMANDSIZE];
- X {
- X int i, j, numraces;
- X+ racetype *Race;
- X
- X if(argn <= 1) {
- X notify(Playernum, "You must give a list of player numbers.\n");
- X***************
- X*** 31,47 ****
- X }
- X numraces = Numraces();
- X
- X for(i=1; i<=argn-1; i++) {
- X j=atoi(args[i]);
- X if(!(j<1 || j>numraces)) {
- X! free(Race);
- X! openracedata(&prof_racedata);
- X! getrace(prof_racedata, &Race, j);
- X! close_file(prof_racedata);
- X sprintf(buf, "[%2d] %s\n", j, Race->name);
- X notify(Playernum, buf);
- X! }
- X }
- X
- X }
- X
- X--- 32,49 ----
- X }
- X numraces = Numraces();
- X
- X+
- X+ openracedata(&prof_racedata);
- X for(i=1; i<=argn-1; i++) {
- X j=atoi(args[i]);
- X if(!(j<1 || j>numraces)) {
- X! getrace(prof_racedata, &Race, (int)j);
- X sprintf(buf, "[%2d] %s\n", j, Race->name);
- X notify(Playernum, buf);
- X! free(Race);
- X }
- X+ }
- X+ close_file(prof_racedata);
- X
- X }
- X
- X***************
- X*** 52,60 ****
- X char args[MAXARGS][COMMANDSIZE];
- X {
- X int i, p, numraces;
- X! racetype *r;
- X
- X- free(Race);
- X openracedata(&prof_racedata);
- X getrace(prof_racedata, &Race,Playernum);
- X close_file(prof_racedata);
- X--- 54,61 ----
- X char args[MAXARGS][COMMANDSIZE];
- X {
- X int i, p, numraces;
- X! racetype *r, *Race;
- X
- X openracedata(&prof_racedata);
- X getrace(prof_racedata, &Race,Playernum);
- X close_file(prof_racedata);
- X***************
- X*** 139,145 ****
- X
- X GetPlayer(args[1], &p, &r);
- X
- X! if (p== -1) {
- X sprintf(buf,"Player does not exist.\n");
- X notify(Playernum, buf);
- X return;
- X--- 140,146 ----
- X
- X GetPlayer(args[1], &p, &r);
- X
- X! if (p < 1 || p > Numraces() ) {
- X sprintf(buf,"Player does not exist.\n");
- X notify(Playernum, buf);
- X return;
- X***************
- X*** 191,210 ****
- X notify(Playernum, buf);
- X sprintf(buf," atmosphere concentrations:\n");
- X notify(Playernum, buf);
- X! sprintf(buf," Methane %2s%% Oxygen %2s%%\n",
- X! Estimate_i((int)r->conditions[METHANE],Race,p),
- X Estimate_i((int)r->conditions[OXYGEN],Race,p) );
- X notify(Playernum, buf);
- X! sprintf(buf," CO2 %2s%% Hydrogen %2s%%\n",
- X! Estimate_i((int)r->conditions[CO2],Race,p),
- X Estimate_i((int)r->conditions[HYDROGEN],Race,p) );
- X notify(Playernum, buf);
- X! sprintf(buf," Nitrogen %2s%% Sulfur %2s%%\n",
- X! Estimate_i((int)r->conditions[NITROGEN],Race,p),
- X Estimate_i((int)r->conditions[SULFUR],Race,p) );
- X notify(Playernum, buf);
- X! sprintf(buf," Helium %2s%% Other %2s%%\n",
- X! Estimate_i((int)r->conditions[HELIUM],Race,p),
- X Estimate_i((int)r->conditions[OTHER],Race,p) );
- X
- X notify(Playernum, buf);
- X--- 192,219 ----
- X notify(Playernum, buf);
- X sprintf(buf," atmosphere concentrations:\n");
- X notify(Playernum, buf);
- X! sprintf(buf," Methane %2s%%",
- X! Estimate_i((int)r->conditions[METHANE],Race,p));
- X! notify(Playernum, buf);
- X! sprintf(buf, " Oxygen %2s%%\n",
- X Estimate_i((int)r->conditions[OXYGEN],Race,p) );
- X notify(Playernum, buf);
- X! sprintf(buf," CO2 %2s%%",
- X! Estimate_i((int)r->conditions[CO2],Race,p));
- X! notify(Playernum, buf);
- X! sprintf(buf, " Hydrogen %2s%%\n",
- X Estimate_i((int)r->conditions[HYDROGEN],Race,p) );
- X notify(Playernum, buf);
- X! sprintf(buf," Nitrogen %2s%%",
- X! Estimate_i((int)r->conditions[NITROGEN],Race,p));
- X! notify(Playernum, buf);
- X! sprintf(buf, " Sulfur %2s%%\n",
- X Estimate_i((int)r->conditions[SULFUR],Race,p) );
- X notify(Playernum, buf);
- X! sprintf(buf," Helium %2s%%",
- X! Estimate_i((int)r->conditions[HELIUM],Race,p));
- X! notify(Playernum, buf);
- X! sprintf(buf," Other %2s%%\n",
- X Estimate_i((int)r->conditions[OTHER],Race,p) );
- X
- X notify(Playernum, buf);
- X***************
- X*** 212,219 ****
- X Race->translate[p-1]>80 ? Desnames[r->likesbest] : " ? " );
- X notify(Playernum, buf);
- X
- X! sprintf(buf,"\nTelescope ranges: ground: %s, space: %s\n",
- X! Estimate_f(tele_range(OTYPE_GTELE,r->tech), Race,p),
- X Estimate_f(tele_range(OTYPE_STELE,r->tech), Race,p) );
- X notify(Playernum, buf);
- X sprintf(buf,"Gun range: %s\n",
- X--- 221,230 ----
- X Race->translate[p-1]>80 ? Desnames[r->likesbest] : " ? " );
- X notify(Playernum, buf);
- X
- X! sprintf(buf,"\nTelescope ranges: ground: %s,",
- X! Estimate_f(tele_range(OTYPE_GTELE,r->tech), Race,p));
- X! notify(Playernum, buf);
- X! sprintf(buf, "space: %s\n",
- X Estimate_f(tele_range(OTYPE_STELE,r->tech), Race,p) );
- X notify(Playernum, buf);
- X sprintf(buf,"Gun range: %s\n",
- X***************
- X*** 220,226 ****
- X--- 231,239 ----
- X Estimate_f(gun_range(r, NULL), Race,p) );
- X notify(Playernum, buf);
- X
- X+ free(r);
- X }
- X+ free(Race);
- X
- X }
- X
- X*** /usr/cna/billr/games/gb3/server/read_teleg.c Wed May 30 15:13:44 1990
- X--- server/read_teleg.c Thu Aug 23 16:55:25 1990
- X***************
- X*** 23,34 ****
- X
- X char telegram_file[PATHLEN];
- X
- X! teleg_read(Playernum)
- X int Playernum;
- X {
- X char *p;
- X
- X sprintf(telegram_file,"%s.%d", TELEGRAMFL, Playernum);
- X if((teleg_read_fd = fopen(telegram_file, "r")) != 0) {
- X while(fgets(buf, sizeof buf, teleg_read_fd)) {
- X for(p = buf; *p; p++) if(*p == '\n') {
- X--- 23,53 ----
- X
- X char telegram_file[PATHLEN];
- X
- X! teleg_read(Playernum, type)
- X int Playernum;
- X+ int type;
- X {
- X char *p;
- X
- X+ switch(type) {
- X+ case TELEGRAM:
- X sprintf(telegram_file,"%s.%d", TELEGRAMFL, Playernum);
- X+ break;
- X+ case DECLARATION:
- X+ sprintf(telegram_file,"%s.%d", DECLARATIONFL, Playernum);
- X+ break;
- X+ case TRANSFER:
- X+ sprintf(telegram_file,"%s.%d", TRANSFERFL, Playernum);
- X+ break;
- X+ case COMBAT:
- X+ sprintf(telegram_file,"%s.%d", COMBATFL, Playernum);
- X+ break;
- X+ case ANNOUNCE:
- X+ sprintf(telegram_file,"%s.%d", ANNOUNCEFL, Playernum);
- X+ break;
- X+ default: return;
- X+ }
- X+
- X if((teleg_read_fd = fopen(telegram_file, "r")) != 0) {
- X while(fgets(buf, sizeof buf, teleg_read_fd)) {
- X for(p = buf; *p; p++) if(*p == '\n') {
- X*** /usr/cna/billr/games/gb3/server/relation.c Wed May 30 15:13:45 1990
- X--- server/relation.c Thu Aug 23 16:55:26 1990
- X***************
- X*** 24,35 ****
- X {
- X int numraces;
- X int p;
- X! racetype *r;
- X
- X! free(Race);
- X openracedata(&relation_racedata);
- X getrace(relation_racedata, &Race, Playernum);
- X- numraces = Numraces();
- X
- X sprintf(buf,"\n Racial Relations Report for %s\n\n",Race->name);
- X notify(Playernum, buf);
- X--- 24,35 ----
- X {
- X int numraces;
- X int p;
- X! racetype *r, *Race;
- X
- X! numraces = Numraces();
- X!
- X openracedata(&relation_racedata);
- X getrace(relation_racedata, &Race, Playernum);
- X
- X sprintf(buf,"\n Racial Relations Report for %s\n\n",Race->name);
- X notify(Playernum, buf);
- X***************
- X*** 40,46 ****
- X if(argn==1) {
- X for (p=1; p<=numraces; p++)
- X if (p != Race->Playernum) {
- X! getrace(relation_racedata, &r, p);
- X sprintf(buf,"%2d %s (%3d%%) %20.20s : %10s %10s\n", p,
- X ((Race->God || Race->translate[p-1] > 30) && r->Thing) ?
- X "Meso" : " ", Race->translate[p-1], r->name,
- X--- 40,46 ----
- X if(argn==1) {
- X for (p=1; p<=numraces; p++)
- X if (p != Race->Playernum) {
- X! getrace(relation_racedata, &r, (int)p);
- X sprintf(buf,"%2d %s (%3d%%) %20.20s : %10s %10s\n", p,
- X ((Race->God || Race->translate[p-1] > 30) && r->Thing) ?
- X "Meso" : " ", Race->translate[p-1], r->name,
- X***************
- X*** 51,58 ****
- X }
- X } else {
- X GetPlayer(args[1], &p, &r);
- X! if(p==-1) {
- X notify(Playernum, "No such player.\n");
- X return;
- X }
- X sprintf(buf,"%2d %s (%3d%%) %20.20s : %10s %10s\n", p,
- X--- 51,59 ----
- X }
- X } else {
- X GetPlayer(args[1], &p, &r);
- X! if(p < 1 || p > numraces) {
- X notify(Playernum, "No such player.\n");
- X+ free(Race);
- X return;
- X }
- X sprintf(buf,"%2d %s (%3d%%) %20.20s : %10s %10s\n", p,
- X***************
- X*** 63,68 ****
- X--- 64,70 ----
- X notify(Playernum, buf);
- X free(r);
- X }
- X+ free(Race);
- X close_file(relation_racedata);
- X
- X
- X*** /usr/cna/billr/games/gb3/server/shlmisc.c Wed May 30 15:13:48 1990
- X--- server/shlmisc.c Thu Aug 23 16:55:29 1990
- X***************
- X*** 78,101 ****
- X *rnum = -1;
- X return;
- X } else {
- X! openracedata(&shl_racedata);
- X getrace(shl_racedata, race, *rnum);
- X! close_file(shl_racedata);
- X return;
- X }
- X } else {
- X l = strlen(name);
- X! openracedata(&shl_racedata);
- X for (i=1; !(*rnum) && i<=numraces; i++) {
- X! getrace(shl_racedata, race, i);
- X if (!strncmp(name, (*race)->name, l)) {
- X *rnum = i;
- X! close_file(shl_racedata);
- X return;
- X! } else
- X free(*race);
- X! }
- X! close_file(shl_racedata);
- X *rnum = -1;
- X }
- X }
- X--- 78,101 ----
- X *rnum = -1;
- X return;
- X } else {
- X! openracedata(&shl_racedata);
- X getrace(shl_racedata, race, *rnum);
- X! close_file(shl_racedata);
- X return;
- X }
- X } else {
- X l = strlen(name);
- X! openracedata(&shl_racedata);
- X for (i=1; !(*rnum) && i<=numraces; i++) {
- X! getrace(shl_racedata, race, (int)i);
- X if (!strncmp(name, (*race)->name, l)) {
- X *rnum = i;
- X! close_file(shl_racedata);
- X return;
- X! } else
- X free(*race);
- X! }
- X! close_file(shl_racedata);
- X *rnum = -1;
- X }
- X }
- X***************
- X*** 134,140 ****
- X }
- X Sdata.AP[Playernum-1] -= alloc;
- X putsdata(stardatafile,&Sdata);
- X! getstar(stardatafile, &Stars[Dir[Playernum-1].snum], Dir[Playernum-1].snum);
- X Stars[Dir[Playernum-1].snum]->AP[Playernum-1] = MIN(99,Stars[Dir[Playernum-1].snum]->AP[Playernum-1]
- X +alloc);
- X putstar(stardatafile, Stars[Dir[Playernum-1].snum], Dir[Playernum-1].snum);
- X--- 134,141 ----
- X }
- X Sdata.AP[Playernum-1] -= alloc;
- X putsdata(stardatafile,&Sdata);
- X! free(Stars[Dir[Playernum-1].snum]);
- X! getstar(stardatafile, &Stars[Dir[Playernum-1].snum], Dir[Playernum-1].snum);
- X Stars[Dir[Playernum-1].snum]->AP[Playernum-1] = MIN(99,Stars[Dir[Playernum-1].snum]->AP[Playernum-1]
- X +alloc);
- X putstar(stardatafile, Stars[Dir[Playernum-1].snum], Dir[Playernum-1].snum);
- X***************
- X*** 175,183 ****
- X }
- X } else {
- X getsdata(deductAPs_stardata,&Sdata);
- X! Sdata.AP[Playernum-1] -= n;
- X! if (Sdata.AP[Playernum-1] < 0)
- X! Sdata.AP[Playernum-1] = 0;
- X putsdata(deductAPs_stardata,&Sdata);
- X
- X if (Dir[Playernum-1].level==LEVEL_UNIV) {
- X--- 176,182 ----
- X }
- X } else {
- X getsdata(deductAPs_stardata,&Sdata);
- X! Sdata.AP[Playernum-1] = MAX(0,Sdata.AP[Playernum-1]-n);
- X putsdata(deductAPs_stardata,&Sdata);
- X
- X if (Dir[Playernum-1].level==LEVEL_UNIV) {
- X***************
- X*** 239,244 ****
- X--- 238,244 ----
- X break;
- X case LEVEL_STAR:
- X openstardata(&fix_stardata);
- X+ free(Stars[Dir[Playernum-1].snum]);
- X getstar(fix_stardata, &Stars[Dir[Playernum-1].snum], Dir[Playernum-1].snum);
- X close_file(fix_stardata);
- X sh = Stars[Dir[Playernum-1].snum]->ships;
- X***************
- X*** 248,253 ****
- X--- 248,254 ----
- X getplanet(fix_pdata, &p, Stars[Dir[Playernum-1].snum]->planetpos[Dir[Playernum-1].pnum]);
- X close_file(fix_pdata);
- X sh = p->ships;
- X+ free(p);
- X break;
- X case LEVEL_SHIP:
- X sh = Dir[Playernum-1].shipno;
- X*** /usr/cna/billr/games/gb3/server/shootblast.c Wed May 30 15:13:49 1990
- X--- server/shootblast.c Thu Aug 23 16:55:30 1990
- X***************
- X*** 34,44 ****
- X char *msg;
- X int getmap;
- X {
- X- shiptype *ship;
- X double xfrom,yfrom,xto,yto;
- X float nd;
- X int casualties;
- X! sprintf(msg,""); /* 'zero' it out */
- X if (from.level==LEVEL_PLAN) {
- X xfrom = Stars[from.snum]->xpos + fpl->xpos;
- X yfrom = Stars[from.snum]->ypos + fpl->ypos;
- X--- 34,45 ----
- X char *msg;
- X int getmap;
- X {
- X double xfrom,yfrom,xto,yto;
- X float nd;
- X int casualties;
- X! racetype *alien;
- X!
- X! sprintf(msg,""); /* 'zero' it out */
- X if (from.level==LEVEL_PLAN) {
- X xfrom = Stars[from.snum]->xpos + fpl->xpos;
- X yfrom = Stars[from.snum]->ypos + fpl->ypos;
- X***************
- X*** 99,108 ****
- X
- X nd = blast(Playernum,&from, to, fromplayer, tpl, sectorx, sectory, *dist, tech,strength, getmap);
- X
- X! if (from.level==LEVEL_SHIP && from.shipptr->type==OTYPE_GR)
- X sprintf(buf,"%.0f points radiation damage given\n", nd);
- X else if (to->level==LEVEL_SHIP) {
- X- racetype *alien;
- X sprintf(buf,"%.0f%% total damage done\n", nd);
- X
- X str_cat(msg, buf);
- X--- 100,109 ----
- X
- X nd = blast(Playernum,&from, to, fromplayer, tpl, sectorx, sectory, *dist, tech,strength, getmap);
- X
- X! if (from.level==LEVEL_SHIP && from.shipptr->type==OTYPE_GR
- X! && !from.shipptr->mode)
- X sprintf(buf,"%.0f points radiation damage given\n", nd);
- X else if (to->level==LEVEL_SHIP) {
- X sprintf(buf,"%.0f%% total damage done\n", nd);
- X
- X str_cat(msg, buf);
- X***************
- X*** 116,126 ****
- X casualties = to->shipptr->popn;
- X
- X to->shipptr->popn -= casualties;
- X openracedata(&shoot_racedata);
- X! getrace(shoot_racedata, &alien, to->shipptr->owner);
- X close_file(shoot_racedata);
- X to->shipptr->mass -= casualties * alien->mass;
- X free(alien);
- X if (casualties) {
- X sprintf(buf,"%d crew casualties\n", casualties);
- X str_cat(msg, buf);
- X--- 117,129 ----
- X casualties = to->shipptr->popn;
- X
- X to->shipptr->popn -= casualties;
- X+
- X openracedata(&shoot_racedata);
- X! getrace(shoot_racedata, &alien, (int)to->shipptr->owner);
- X close_file(shoot_racedata);
- X to->shipptr->mass -= casualties * alien->mass;
- X free(alien);
- X+
- X if (casualties) {
- X sprintf(buf,"%d crew casualties\n", casualties);
- X str_cat(msg, buf);
- X***************
- X*** 157,165 ****
- X int getmap; /* whether to get smap or not */
- X {
- X register int x2,y2;
- X! reg float r; /* radius of blast */
- X float d,damage,str;
- X! int numdest = 0,lowx,lowy,hix,hiy,crithits,critdam,dam;
- X int arm,body,fevade,tevade,fspeed,tspeed;
- X int i, col, row, die, effect, kills;
- X register sectortype *s;
- X--- 160,168 ----
- X int getmap; /* whether to get smap or not */
- X {
- X register int x2,y2;
- X! reg float r; /* radius of blast/penetration probability*/
- X float d,damage,str;
- X! int numdest = 0,lowx,lowy,hix,hiy,crithits,critdam,dam,penetrate,hits;
- X int arm,body,fevade,tevade,fspeed,tspeed;
- X int i, col, row, die, effect, kills;
- X register sectortype *s;
- X***************
- X*** 167,173 ****
- X sectortype *s2;
- X register float fac;
- X int shfdata,sectdata;
- X! int checkcrit = 0;
- X
- X if (to->level==LEVEL_SHIP) {
- X
- X--- 170,176 ----
- X sectortype *s2;
- X register float fac;
- X int shfdata,sectdata;
- X! int checkcrit = 0, damage_multiplier;
- X
- X if (to->level==LEVEL_SHIP) {
- X
- X***************
- X*** 188,256 ****
- X tspeed = to->shipptr->speed;
- X tevade=to->shipptr->protect.evade;
- X }
- X!
- X! body = Size(to->shipptr);
- X
- X! str = Num_hits(Playernum,dist,strength,tech,fevade,tevade,fspeed,tspeed,body);
- X!
- X! arm = Armor(to->shipptr);
- X! sprintf(buf,"NUMBER OF HITS: %.0f ARMOR: %d BODY: %d \n",
- X! str,arm,body);
- X! notify(Playernum, buf);
- X!
- X! numdest = round_rand (40.*((float)str - (float)arm)/(float)body) *
- X! (1 + 2*(to->shipptr->type == STYPE_MIRROR)); /*mirrors are easier to damage */
- X
- X! if(numdest < 0)
- X! numdest = 0;
- X!
- X! sprintf(buf,"%d %% structural damage inflicted! \n",numdest);
- X! notify(Playernum, buf);
- X! /* evaluate critical hits */
- X! checkcrit = 1;
- X
- X- if(from->level == LEVEL_SHIP) {
- X- if((from->shipptr->type == OTYPE_GR) )
- X- checkcrit = 0;
- X- }
- X
- X
- X! if(checkcrit)
- X! {
- X critdam = 0;
- X crithits = 0;
- X! for(i=1; i<=str; i++)
- X! if(!int_rand(0, 15*body))
- X! {
- X crithits++;
- X dam=int_rand(0,100);
- X critdam += dam;
- X }
- X
- X! if(critdam > 100)critdam = 100;
- X! if(crithits)
- X! {
- X! sprintf(buf,"%d CRITICAL HIT(S) for %d %% additional damage!!!\n",
- X crithits,critdam);
- X notify(Playernum, buf);
- X! numdest += critdam;
- X }
- X
- X }
- X
- X! if (numdest < 0) numdest = 0;
- X! else
- X! if (numdest > 100) numdest = 100;
- X
- X! if (from->level==LEVEL_SHIP && from->shipptr->type==OTYPE_GR) {
- X /* gamma-ray lasers irradiate targets */
- X to->shipptr->rad = numdest;
- X! if(int_rand(1,100) <= numdest)
- X to->shipptr->active = 0;
- X } else {
- X
- X if (to->shipptr->damage+numdest >= 100) {
- X! kill_ship(to->shipptr);
- X /* mess up the planet a bit. */
- X if (to->shipptr->type==OTYPE_TOXWC &&
- X to->shipptr->whatorbits==LEVEL_PLAN)
- X--- 191,290 ----
- X tspeed = to->shipptr->speed;
- X tevade=to->shipptr->protect.evade;
- X }
- X! if(from->level==LEVEL_SHIP)
- X! fac=tanh((double)((from->shipptr->tech+1.0)/(to->shipptr->tech+1.0)));
- X! else
- X! fac=tanh((double)((100.0+1.0)/(to->shipptr->tech+1.0)));
- X
- X! sprintf(buf, "fac = %f/%f\n", fac, to->shipptr->tech);
- X! notify(Playernum, buf);
- X! body=Size(to->shipptr);
- X! arm=Armor(to->shipptr);
- X! hits=Num_hits(Playernum,dist,strength,
- X! tech,fevade,tevade,fspeed,tspeed,body);
- X! penetrate = 0;
- X! r = 1.0;
- X! for(i=1; i<=arm; i++) r *= fac;
- X
- X! for(i=1; i<=hits; i++) /* check to see how many hits penetrate */
- X! if(float_rand() <= r) penetrate += 1;
- X
- X
- X+ switch(to->shipptr->type) {
- X+ case STYPE_MIRROR:
- X+ case STYPE_STATION:
- X+ case STYPE_HABITAT:
- X+ damage_multiplier = 2;
- X+ break;
- X+ case STYPE_CARGO:
- X+ case STYPE_TANKER:
- X+ case STYPE_ASS:
- X+ damage_multiplier = 1;
- X+ break;
- X+ default:
- X+ damage_multiplier = 0;
- X+ break;
- X+ }
- X+
- X+ numdest = round_rand (40.*(float)penetrate/(float)body) *
- X+ (1 + damage_multiplier);
- X
- X! sprintf(buf, "%d hits\n", hits);
- X! notify(Playernum, buf);
- X! if(hits) {
- X! sprintf(buf, "%d penetrated armor causing %d%% damage.\n",
- X! penetrate, numdest);
- X! notify(Playernum, buf);
- X! }
- X! if(!(from->level==LEVEL_SHIP && from->shipptr->type==OTYPE_GR
- X! && !from->shipptr->mode)) {
- X critdam = 0;
- X crithits = 0;
- X! for(i=1; i<=penetrate; i++)
- X! if(!int_rand(0, body)) {
- X crithits++;
- X dam=int_rand(0,100);
- X critdam += dam;
- X }
- X
- X! critdam = MIN(100,critdam);
- X! if(crithits) {
- X! sprintf(buf,"%d CRITICAL HIT(S) for %d%% additional damage!\n",
- X crithits,critdam);
- X notify(Playernum, buf);
- X! numdest += critdam;
- X }
- X
- X }
- X
- X! numdest=MIN(100,numdest);
- X
- X! if(!(from->level==LEVEL_SHIP && from->shipptr->type==OTYPE_GR
- X! && !from->shipptr->mode)) {
- X! sprintf(buf,"%d%% total structural damage inflicted!\n",
- X! numdest);
- X! notify(Playernum, buf);
- X! } else {
- X! sprintf(buf,"%d%% total radiation level inflicted!\n",numdest);
- X! notify(Playernum, buf);
- X! }
- X!
- X! if (from->level==LEVEL_SHIP && from->shipptr->type==OTYPE_GR
- X! && !from->shipptr->mode) {
- X /* gamma-ray lasers irradiate targets */
- X+ if(numdest > to->shipptr->rad)
- X to->shipptr->rad = numdest;
- X!
- X! if(int_rand(1,100) <= numdest)
- X to->shipptr->active = 0;
- X+ if(!to->shipptr->active) {
- X+ notify(Playernum, "Target ship INACTIVE.\n");
- X+ }
- X+
- X } else {
- X
- X if (to->shipptr->damage+numdest >= 100) {
- X! kill_ship(Playernum, to->shipptr);
- X /* mess up the planet a bit. */
- X if (to->shipptr->type==OTYPE_TOXWC &&
- X to->shipptr->whatorbits==LEVEL_PLAN)
- X***************
- X*** 270,277 ****
- X to->shipptr->whatdest = LEVEL_UNIV;
- X to->shipptr->destshipno = 0;
- X }
- X! } else
- X to->shipptr->damage += numdest;
- X }
- X
- X Nuked[to->shipptr->owner-1] = 1;
- X--- 304,314 ----
- X to->shipptr->whatdest = LEVEL_UNIV;
- X to->shipptr->destshipno = 0;
- X }
- X! } else {
- X to->shipptr->damage += numdest;
- X+ sprintf(buf, "%d%% total damage.\n", to->shipptr->damage);
- X+ notify(Playernum, buf);
- X+ }
- X }
- X
- X Nuked[to->shipptr->owner-1] = 1;
- X***************
- X*** 296,309 ****
- X for (x2=lowx; x2<=hix; x2++) {
- X if ( (d = Distmap(x,y,x2,y2) ) <= r) {
- X s = &Sector(*pl,x2,y2);
- X! fac = ((float)str) * logscale(100 - s->mobilization)/(d+1);
- X! /* factor of destruction */
- X /* printf("%d,%d dist = %.2f,dest fac %.2f \n",x2,y2,d,fac);*/
- X if (fac > 1.0) {
- X- Nuked[s->owner-1] = 1; /* for retaliating */
- X
- X kills = int_rand(0,((int)fac))/(1+(s->des==DES_PLATED));
- X! if(kills >= s->popn)
- X {
- X s->popn = 0;
- X s->owner = 0;
- X--- 333,350 ----
- X for (x2=lowx; x2<=hix; x2++) {
- X if ( (d = Distmap(x,y,x2,y2) ) <= r) {
- X s = &Sector(*pl,x2,y2);
- X! fac = (float)str * log10(100.0 - (float)s->mobilization + 2.0)
- X! /(d+1.);
- X!
- X! /* factor of destruction */
- X /* printf("%d,%d dist = %.2f,dest fac %.2f \n",x2,y2,d,fac);*/
- X if (fac > 1.0) {
- X
- X kills = int_rand(0,((int)fac))/(1+(s->des==DES_PLATED));
- X! if(kills >= int_rand(1,100))
- X! Nuked[s->owner-1] = 1; /* for retaliating */
- X!
- X! if(kills >= s->popn)
- X {
- X s->popn = 0;
- X s->owner = 0;
- X***************
- X*** 329,342 ****
- X (s+1)->des==DES_GAS || (s-1)->des==DES_GAS)
- X s->des=DES_GAS;
- X }
- X! if(fac >= 5.0)
- X! if(((float)int_rand(0,10))*fac > 50.0)
- X! {
- X s->popn = 0;
- X s->owner = 0;
- X s->eff = 0;
- X s->mobilization = 0;
- X s->fert = 0; /*all is lost !*/
- X s->is_wasted = 1;
- X numdest++;
- X }
- X--- 370,385 ----
- X (s+1)->des==DES_GAS || (s-1)->des==DES_GAS)
- X s->des=DES_GAS;
- X }
- X!
- X! if( (int)fac >= int_rand(0,100) ) {
- X! if(s->owner) Nuked[s->owner-1] = 1;
- X!
- X s->popn = 0;
- X s->owner = 0;
- X s->eff = 0;
- X s->mobilization = 0;
- X s->fert = 0; /*all is lost !*/
- X+ s->crystals = int_rand(0, s->crystals);
- X s->is_wasted = 1;
- X numdest++;
- X }
- X*** /usr/cna/billr/games/gb3/server/survey.c Wed May 30 15:13:51 1990
- X--- server/survey.c Thu Aug 23 16:55:32 1990
- X***************
- X*** 30,38 ****
- X "Stage 8: ecologically poisonous --below birth threshold",
- X "Stage 9: WARNING: nearing 100% toxicity",
- X "Stage 10: WARNING: COMPLETELY TOXIC!!!",
- X! "???"
- X };
- X! int survey_racedata;
- X
- X
- X survey(Playernum,APcount, argn,args)
- X--- 30,38 ----
- X "Stage 8: ecologically poisonous --below birth threshold",
- X "Stage 9: WARNING: nearing 100% toxicity",
- X "Stage 10: WARNING: COMPLETELY TOXIC!!!",
- X! "\?\?\?"
- X };
- X! int survey_racedata, survey_pdata, survey_sectdata;
- X
- X
- X survey(Playernum,APcount, argn,args)
- X***************
- X*** 45,53 ****
- X char d;
- X sectortype *s;
- X planettype *p;
- X! int tindex,survey_pdata,survey_sectdata;
- X placetype where;
- X float compat;
- X
- X if (argn==1) { /* no args */
- X
- X--- 45,54 ----
- X char d;
- X sectortype *s;
- X planettype *p;
- X! int tindex;
- X placetype where;
- X float compat;
- X+ racetype *Race;
- X
- X if (argn==1) { /* no args */
- X
- X***************
- X*** 76,82 ****
- X
- X }
- X
- X- free(Race);
- X openracedata(&survey_racedata);
- X getrace(survey_racedata, &Race, Playernum);
- X close_file(survey_racedata);
- X--- 77,82 ----
- X***************
- X*** 83,89 ****
- X
- X if (where.level==LEVEL_PLAN) {
- X
- X-
- X openpdata(&survey_pdata);
- X getplanet(survey_pdata,&p,Stars[where.snum]->planetpos[where.pnum]);
- X close_file(survey_pdata);
- X--- 83,88 ----
- X***************
- X*** 104,110 ****
- X lowy = MAX(0, lowy);
- X hiy = MIN(hiy, p->Maxy-1);
- X
- X! sprintf(buf," x,y des ( type ) owner eff mob frt res popn ^popn\n");
- X notify(Playernum, buf);
- X
- X for (; lowy<=hiy; lowy++)
- X--- 103,109 ----
- X lowy = MAX(0, lowy);
- X hiy = MIN(hiy, p->Maxy-1);
- X
- X! sprintf(buf," x,y des ( type ) owner eff mob frt res popn ^popn crystals\n");
- X notify(Playernum, buf);
- X
- X for (; lowy<=hiy; lowy++)
- X***************
- X*** 117,130 ****
- X sprintf(buf,"? ( ? )\n");
- X notify(Playernum, buf);
- X } else {
- X! sprintf(buf,"%c (%11s) %6u%4u%4u%4u%4u%5u%6d\n",
- X d, Desnames[s->des], s->owner, s->eff,
- X s->mobilization, s->fert, s->resource, s->popn,
- X! maxsupport(Race,s,compat,p->conditions[TOXIC]) );
- X notify(Playernum, buf);
- X }
- X }
- X- free(p);
- X
- X } else {
- X
- X--- 116,129 ----
- X sprintf(buf,"? ( ? )\n");
- X notify(Playernum, buf);
- X } else {
- X! sprintf(buf,"%c (%11s) %6u%4u%4u%4u%4u%5u%6d%s\n",
- X d, Desnames[s->des], s->owner, s->eff,
- X s->mobilization, s->fert, s->resource, s->popn,
- X! maxsupport(Race,s,compat,p->conditions[TOXIC]),
- X! (s->crystals ? " yes" : " " ));
- X notify(Playernum, buf);
- X }
- X }
- X
- X } else {
- X
- X***************
- X*** 186,195 ****
- X sprintf(buf,"This planet ENSLAVED to player %d!\n", p->slaved_to);
- X notify(Playernum, buf);
- X }
- X free(p);
- X
- X- }
- X-
- X } else if (where.level==LEVEL_STAR) {
- X
- X sprintf(buf,"Star %s\n",Stars[where.snum]->name);
- X--- 185,193 ----
- X sprintf(buf,"This planet ENSLAVED to player %d!\n", p->slaved_to);
- X notify(Playernum, buf);
- X }
- X+ }
- X free(p);
- X
- X } else if (where.level==LEVEL_STAR) {
- X
- X sprintf(buf,"Star %s\n",Stars[where.snum]->name);
- X***************
- X*** 227,233 ****
- X--- 225,371 ----
- X notify(Playernum, buf);
- X
- X } else {
- X+ sprintf(buf,"Illegal scope.\n");
- X+ notify(Playernum, buf);
- X+ }
- X+ free(Race);
- X+ }
- X+
- X+ production(Playernum,APcount, argn,args)
- X+ int Playernum;
- X+ int APcount;
- X+ int argn;
- X+ char args[MAXARGS][COMMANDSIZE];
- X+ {
- X+ planettype *p;
- X+
- X+ if(Dir[Playernum-1].level != LEVEL_PLAN) {
- X+ notify(Playernum, "You have to 'cs' to an explored planet to get this data.\n");
- X+ return;
- X+ }
- X+ openpdata(&survey_pdata);
- X+ getplanet(survey_pdata,&p,Stars[Dir[Playernum-1].snum]->planetpos[Dir[Playernum-1].pnum]);
- X+ close_file(survey_pdata);
- X+ sprintf(buf, "Last update this planet produced %dr %df %dd.\n", p->info[Playernum-1].prod_res,
- X+ p->info[Playernum-1].prod_fuel, p->info[Playernum-1].prod_dest);
- X+ notify(Playernum, buf);
- X+ free(p);
- X+
- X+ }
- X+
- X+
- X+ repair(Playernum,APcount, argn,args)
- X+ int Playernum;
- X+ int APcount;
- X+ int argn;
- X+ char args[MAXARGS][COMMANDSIZE];
- X+ {
- X+ int lowx,hix,lowy,hiy,x2, ok, sectors, cost;
- X+ sectortype *s;
- X+ planettype *p;
- X+ placetype where;
- X+ racetype *Race;
- X+
- X+ if (argn==1) { /* no args */
- X+
- X+ where.level = Dir[Playernum-1].level;
- X+ where.snum = Dir[Playernum-1].snum;
- X+ where.pnum = Dir[Playernum-1].pnum;
- X+
- X+ } else {
- X+
- X+ /* repairing a sector */
- X+ if (isdigit(args[1][0]) && index(args[1],',')!=NULL) {
- X+ if (Dir[Playernum-1].level!=LEVEL_PLAN) {
- X+ sprintf(buf,"There are no sectors here.\n");
- X+ notify(Playernum, buf);
- X+ return;
- X+ } else {
- X+ where.level = LEVEL_PLAN;
- X+ where.snum = Dir[Playernum-1].snum;
- X+ where.pnum = Dir[Playernum-1].pnum;
- X+ }
- X+ } else {
- X+ where = Getplace(Playernum,args[1],0);
- X+ if (where.err)
- X+ return;
- X+ }
- X+
- X+ }
- X+
- X+ openracedata(&survey_racedata);
- X+ getrace(survey_racedata, &Race, Playernum);
- X+ close_file(survey_racedata);
- X+
- X+ if (where.level==LEVEL_PLAN) {
- X+
- X+
- X+ openpdata(&survey_pdata);
- X+ getplanet(survey_pdata,&p,Stars[where.snum]->planetpos[where.pnum]);
- X+ close_file(survey_pdata);
- X+
- X+ if(!p->info[Playernum-1].numsectsowned) {
- X+ notify(Playernum, "You don't own any sectors on this planet.\n");
- X+ free(p);
- X+ free(Race);
- X+ return;
- X+ }
- X+
- X+ opensectdata(&survey_sectdata);
- X+ getsmap(survey_sectdata,Smap,p);
- X+ close_file(survey_sectdata);
- X+
- X+ if (isdigit(args[1][0]) && index(args[1],',')!=NULL) {
- X+ get4args(args[1],&x2,&hix,&lowy,&hiy);
- X+ /* ^^^ translate from lowx:hix,lowy:hiy */
- X+ x2 = MAX(0, x2);
- X+ hix = MIN(hix, p->Maxx-1);
- X+ lowy = MAX(0, lowy);
- X+ hiy = MIN(hiy, p->Maxy-1);
- X+
- X+ } else {
- X+ /* repair entire planet */
- X+ x2 = 0;
- X+ hix = p->Maxx-1;
- X+ lowy = 0;
- X+ hiy = p->Maxy-1;
- X+ }
- X+
- X+ sectors = 0;
- X+ cost = 0;
- X+
- X+ opensectdata(&survey_sectdata);
- X+ for (; lowy<=hiy; lowy++)
- X+ for (lowx=x2; lowx<=hix; lowx++) {
- X+ if(p->info[Playernum-1].resource >= SECTOR_REPAIR_COST) {
- X+ s = &Sector(*p, lowx, lowy);
- X+ if (s->is_wasted && (s->owner==Playernum || !s->owner)){
- X+ s->is_wasted = 0;
- X+ s->fert = MIN(100, s->fert+20);
- X+ p->info[Playernum-1].resource -= SECTOR_REPAIR_COST;
- X+ cost += SECTOR_REPAIR_COST;
- X+ sectors += 1;
- X+ putsector(survey_sectdata, s, p->sectormappos
- X+ +(lowy*p->Maxx+lowx)*sizeof(sectortype) );
- X+ }
- X+ }
- X+ }
- X+ close_file(survey_sectdata);
- X+
- X+ openpdata(&survey_pdata);
- X+ putplanet(survey_pdata,p,Stars[where.snum]->planetpos[where.pnum]);
- X+ close_file(survey_pdata);
- X+ free(p);
- X+
- X+ sprintf(buf, "%d sectors repaired at a cost of %d resources.\n", sectors, cost);
- X+ notify(Playernum, buf);
- X+
- X+ } else {
- X sprintf(buf,"scope must be a planet.\n");
- X notify(Playernum, buf);
- X }
- X+ free(Race);
- X }
- X+
- X+
- X+
- X*** /usr/cna/billr/games/gb3/server/tweakables.h Wed May 30 15:12:45 1990
- X--- server/tweakables.h Tue Aug 28 12:05:35 1990
- X***************
- X*** 48,53 ****
- X--- 48,54 ----
- X #define CHAR_GAS '~'
- X #define CHAR_CLOAKED ' '
- X #define CHAR_ICE '#'
- X+ #define CHAR_CRYSTAL 'x'
- X
- X #define NAMESIZE 18
- X #define RNAMESIZE 35
- X***************
- X*** 68,73 ****
- X--- 69,76 ----
- X #define SYSTEMSIZE 2000
- X #define PLORBITSIZE 50
- X
- X+ #define WEEKLY 300
- X+ #define DAILY 180
- X
- X #define AUTO_TELEG_SIZE 2000
- X #define UNTRANS_MSG "[ ? ]"
- X***************
- X*** 90,96 ****
- X #define LAND_GRAV_MASS_FACTOR 0.29
- X
- X #define FUEL_GAS_ADD 5.0 /* amt of fuel to add to ea ships tanks */
- X! #define FUEL_GAS_ADD_TANKER 10.0
- X #define FUEL_GAS_ADD_HABITAT 20.0
- X #define FUEL_GAS_ADD_STATION 20.0
- X #define FUEL_USE 0.02 /* fuel use per ship mass pt. per speed
- X--- 93,99 ----
- X #define LAND_GRAV_MASS_FACTOR 0.29
- X
- X #define FUEL_GAS_ADD 5.0 /* amt of fuel to add to ea ships tanks */
- X! #define FUEL_GAS_ADD_TANKER 100.0
- X #define FUEL_GAS_ADD_HABITAT 20.0
- X #define FUEL_GAS_ADD_STATION 20.0
- X #define FUEL_USE 0.02 /* fuel use per ship mass pt. per speed
- X***************
- X*** 97,104 ****
- X factor */
- X
- X #define REPAIR_RATE 25.0 /* rate at which ships get repaired */
- X
- X-
- X #define CREAT_UNIV_ITERAT 10 /* iterations for star movement */
- X
- X
- X--- 100,107 ----
- X factor */
- X
- X #define REPAIR_RATE 25.0 /* rate at which ships get repaired */
- X+ #define SECTOR_REPAIR_COST 10 /* how much it costs to remove a wasted status from a sector */
- X
- X #define CREAT_UNIV_ITERAT 10 /* iterations for star movement */
- X
- X
- X***************
- X*** 109,124 ****
- X /* # of people/fert pt sector supports*/
- X #define EFF_PROD 0.20 /* production of effcncy/pop*/
- X #define RESOURCE_PRODUCTION 0.00008 /* adjust these to change prod*/
- X! #define FUEL_PRODUCTION 0.00004
- X
- X #define DEST_PRODUCTION 0.00008
- X #define POPN_PROD 0.3
- X
- X #define HYPER_DRIVE_READY_CHARGE 1
- X! #define HYPER_DRIVE_FUEL_USE 1.0
- X! #define HYPER_DIST_FACTOR 20000.
- X
- X! #define TECH_INVEST 0.10 /* invest factor */
- X
- X #define MOB_COST 0.010 /* mobiliz.c, doplanet.c cost/mob points*/
- X /*#define RESOURCE_DEPLETION 0.015 */
- X--- 112,129 ----
- X /* # of people/fert pt sector supports*/
- X #define EFF_PROD 0.20 /* production of effcncy/pop*/
- X #define RESOURCE_PRODUCTION 0.00008 /* adjust these to change prod*/
- X! #define FUEL_PRODUCTION 0.00008
- X
- X #define DEST_PRODUCTION 0.00008
- X #define POPN_PROD 0.3
- X
- X #define HYPER_DRIVE_READY_CHARGE 1
- X! #define HYPER_DRIVE_FUEL_USE 5.0
- X! #define HYPER_DIST_FACTOR 200.0
- X
- X! #define TECH_LASER 100.0 /* minimum tech for constructing lasers */
- X! #define TECH_INVEST 0.005 /* invest factor */
- X! #define TECH_SCALE 2.0 /* investment scale */
- X
- X #define MOB_COST 0.010 /* mobiliz.c, doplanet.c cost/mob points*/
- X /*#define RESOURCE_DEPLETION 0.015 */
- X***************
- X*** 141,148 ****
- X
- X
- X #define FUEL_MANEUVER 0.3 /* order.c-- fuel it costs to change aim */
- X! #define DIST_TO_LAND 10.0 /* moveship.c,land.c --
- X! distance ship has to be to land */
- X /*#define DIST_TO_BURN 50 /* distance from sun needed to destroy ship */
- X
- X
- X--- 146,154 ----
- X
- X
- X #define FUEL_MANEUVER 0.3 /* order.c-- fuel it costs to change aim */
- X! #define DIST_TO_LAND 10.0 /* moveship.c,land.c -- */
- X! #define DIST_TO_DOCK 45.0
- X!
- X /*#define DIST_TO_BURN 50 /* distance from sun needed to destroy ship */
- X
- X
- X***************
- X*** 154,160 ****
- X #define POPN_MOVE_SCALE_1 400 /* limit at which popn moves to all */
- X #define POPN_MOVE_SCALE_2 3000 /* " " " popn moves to 2 adj. spaces */
- X /* otherwise move to only 1 adj. space*/
- X! #define SHIP_MOVE_SCALE 1.0
- X
- X #define reg register
- X /* to save object code */
- X--- 160,166 ----
- X #define POPN_MOVE_SCALE_1 400 /* limit at which popn moves to all */
- X #define POPN_MOVE_SCALE_2 3000 /* " " " popn moves to 2 adj. spaces */
- X /* otherwise move to only 1 adj. space*/
- X! #define SHIP_MOVE_SCALE 3.0
- X
- X #define reg register
- X /* to save object code */
- X***************
- X*** 172,177 ****
- X--- 178,187 ----
- X #define swap(a, b) ((a) ^= (b), (b) ^= (a), (a) ^= (b))
- X /* euclidean distance */
- X #define Distsq(x1,y1,x2,y2) ( ((x1)-(x2))*((x1)-(x2)) + ((y1)-(y2))*((y1)-(y2)) )
- X+ #ifdef NO_LOG1P
- X+ /* log(x+1) */
- X+ #define log1p(x) ( log((x) + 1.0) )
- X+ #endif
- X
- X /* look up sector */
- X #define Sector(pl,x,y) (Smap[(x) + (y)*(pl).Maxx])
- X*** /usr/cna/billr/games/gb3/server/vars.h Wed May 30 15:12:46 1990
- X--- server/vars.h Thu Aug 23 16:54:30 1990
- X***************
- X*** 41,58 ****
- X unsigned short fuel; /* fuel for powering things */
- X unsigned short destruct; /* destructive potential */
- X unsigned short resource; /* resources in storage */
- X! unsigned short numsectsowned;
- X
- X unsigned comread : 7; /* combat readiness (mobilization)*/
- X unsigned explored : 1; /* 1 bit: explored by each player */
- X unsigned mob_set : 7; /* mobilization target */
- X unsigned autorep : 1; /* player wants autoreport */
- X- unsigned tech_invest : 7; /* amt of res. to spend on tech */
- X unsigned spied_on : 1; /* spied on */
- X unsigned tox_thresh : 7; /* min to build a waste can */
- X- unsigned dummy : 1; /* dummy bit for development */
- X
- X! unsigned int unused; /* more dummy bits for development */
- X };
- X
- X struct sector {
- X--- 41,69 ----
- X unsigned short fuel; /* fuel for powering things */
- X unsigned short destruct; /* destructive potential */
- X unsigned short resource; /* resources in storage */
- X! unsigned popn;
- X! unsigned short crystals;
- X
- X+ unsigned tech_invest;
- X+
- X+ unsigned short prod_res; /* shows last update production */
- X+ unsigned short prod_fuel;
- X+ unsigned short prod_dest;
- X+ unsigned short prod_crystals;
- X+ float prod_tech;
- X+
- X+ unsigned numsectsowned : 9;
- X unsigned comread : 7; /* combat readiness (mobilization)*/
- X unsigned explored : 1; /* 1 bit: explored by each player */
- X unsigned mob_set : 7; /* mobilization target */
- X unsigned autorep : 1; /* player wants autoreport */
- X unsigned spied_on : 1; /* spied on */
- X unsigned tox_thresh : 7; /* min to build a waste can */
- X
- X! unsigned dummy1;
- X! unsigned dummy2;
- X! unsigned dummy3;
- X! unsigned dummy4;
- X };
- X
- X struct sector {
- X***************
- X*** 66,72 ****
- X unsigned owner : BITS_MAXPLAYERS; /* owner of place */
- X unsigned is_wasted : 1; /* 1 bit: is a wasted sector */
- X unsigned VN : 1; /* has a VN machine on it */
- X! unsigned dummy : 6; /* extra bits for development */
- X };
- X
- X
- X--- 77,85 ----
- X unsigned owner : BITS_MAXPLAYERS; /* owner of place */
- X unsigned is_wasted : 1; /* 1 bit: is a wasted sector */
- X unsigned VN : 1; /* has a VN machine on it */
- X! unsigned crystals : 6; /* number of crystals the sector currently has (these are mined out) */
- X!
- X! unsigned short dummy;
- X };
- X
- X
- X***************
- X*** 116,124 ****
- X percent AP[MAXPLAYERS]; /* Action pts for each player */
- X unsigned short VN_hitlist[MAXPLAYERS];
- X /* # of ships destroyed by each player */
- X! percent VN_index1[MAXPLAYERS];
- X! percent VN_index2[MAXPLAYERS]; /* VN's record of destroyed ships
- X systems where they bought it */
- X };
- X
- X EXTERN struct stardata Sdata;
- X--- 129,138 ----
- X percent AP[MAXPLAYERS]; /* Action pts for each player */
- X unsigned short VN_hitlist[MAXPLAYERS];
- X /* # of ships destroyed by each player */
- X! char VN_index1[MAXPLAYERS];
- X! char VN_index2[MAXPLAYERS]; /* VN's record of destroyed ships
- X systems where they bought it */
- X+ unsigned dummy;
- X };
- X
- X EXTERN struct stardata Sdata;
- X***************
- X*** 150,155 ****
- X--- 164,170 ----
- X
- X EXTERN int tot_resdep, prod_eff, prod_res[MAXPLAYERS];
- X EXTERN int prod_fuel[MAXPLAYERS], prod_destruct[MAXPLAYERS];
- X+ EXTERN int prod_crystals[MAXPLAYERS];
- X EXTERN int tot_captured, prod_mob, populations[MAXPLAYERS];
- X EXTERN float avg_mob[MAXPLAYERS];
- X EXTERN char sects_gained[MAXPLAYERS], sects_lost[MAXPLAYERS];
- X***************
- X*** 156,161 ****
- X--- 171,178 ----
- X EXTERN boolean Claims;
- X
- X EXTERN planettype *planets[NUMSTARS][MAXPLANETS];
- X+ EXTERN int inhabited[NUMSTARS];
- X+ EXTERN int place[MAXPLAYERS];
- X EXTERN float Compat[MAXPLAYERS];
- X EXTERN int Num_races, Num_ships;
- X
- END_OF_FILE
- if test 57315 -ne `wc -c <'patches02c'`; then
- echo shar: \"'patches02c'\" unpacked with wrong size!
- fi
- # end of 'patches02c'
- if test -f 'server/welcome.txt' -a "${1}" != "-c" ; then
- echo shar: Renaming existing file \"'server/welcome.txt'\" to \"'server/welcome.txt.orig'\"
- mv -f 'server/welcome.txt' 'server/welcome.txt.orig'
- fi
- echo shar: Extracting \"'server/welcome.txt'\" \(560 characters\)
- sed "s/^X//" >'server/welcome.txt' <<'END_OF_FILE'
- X
- X *** Connected to the GB server ***
- X
- XThe client/server source/docs can be obtained via anon
- X ftp from 'scam.berkeley.edu' (128.32.138.0)
- X in src/games/gb.
- X
- XType 'who' to see who is currently logged on. Type' help' for help.
- X
- X**** UPDATES HAVE BEEN SET AT 6 HOURS! (12 & 6 am/pm PDT)
- X
- X*** Do 'help time' for some new information ***
- X
- XNew command 'standby'. Do 'help standby' for details.
- X
- XNew newsgroup 'alt.games.gb' is for real.
- X Check it out if you can get it.
- X
- X>>> NEW news! do 'read news' and 'help read' for details.
- X
- XPlease enter your password.
- END_OF_FILE
- if test 560 -ne `wc -c <'server/welcome.txt'`; then
- echo shar: \"'server/welcome.txt'\" unpacked with wrong size!
- fi
- # end of 'server/welcome.txt'
- echo shar: End of archive 3 \(of 9\).
- cp /dev/null ark3isdone
- MISSING=""
- for I in 1 2 3 4 5 6 7 8 9 ; do
- if test ! -f ark${I}isdone ; then
- MISSING="${MISSING} ${I}"
- fi
- done
- if test "${MISSING}" = "" ; then
- echo You have unpacked all 9 archives.
- rm -f ark[1-9]isdone ark[1-9][0-9]isdone
- else
- echo You still need to unpack the following archives:
- echo " " ${MISSING}
- fi
- ## End of shell archive.
- exit 0
-